package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DcPrecioMarca generated by hbm2java
 */
@Entity
@Table(name = "DC_PRECIO_MARCA", schema = "EDADEPUDOC")
public class DcPrecioMarca implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 9114655907131766388L;
	private DcPrecioMarcaId id;
	private EdPatente edPatente;
	private TbProductoEsp tbProductoEsp;
	private Date finicioVigencia;
	private Double vgradoAlcohol;
	private String cmedida;
	private Double vprecioSugerido;
	private Double vprecioPublico;
	private Long nunidadTabaco;
	private Long ngaseosaXMl;

	public DcPrecioMarca() {
	}

	public DcPrecioMarca(DcPrecioMarcaId id, EdPatente edPatente,
			TbProductoEsp tbProductoEsp, Date finicioVigencia,
			Double vprecioSugerido, Double vprecioPublico) {
		this.id = id;
		this.edPatente = edPatente;
		this.tbProductoEsp = tbProductoEsp;
		this.finicioVigencia = finicioVigencia;
		this.vprecioSugerido = vprecioSugerido;
		this.vprecioPublico = vprecioPublico;
	}

	public DcPrecioMarca(DcPrecioMarcaId id, EdPatente edPatente,
			TbProductoEsp tbProductoEsp, Date finicioVigencia,
			Double vgradoAlcohol, String cmedida, Double vprecioSugerido,
			Double vprecioPublico, Long nunidadTabaco, Long ngaseosaXMl) {
		this.id = id;
		this.edPatente = edPatente;
		this.tbProductoEsp = tbProductoEsp;
		this.finicioVigencia = finicioVigencia;
		this.vgradoAlcohol = vgradoAlcohol;
		this.cmedida = cmedida;
		this.vprecioSugerido = vprecioSugerido;
		this.vprecioPublico = vprecioPublico;
		this.nunidadTabaco = nunidadTabaco;
		this.ngaseosaXMl = ngaseosaXMl;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "icorrelativo", column = @Column(name = "I_CORRELATIVO", nullable = false, precision = 10, scale = 0)),
			@AttributeOverride(name = "iindice", column = @Column(name = "I_INDICE", nullable = false, precision = 18, scale = 0)) })
	public DcPrecioMarcaId getId() {
		return this.id;
	}

	public void setId(DcPrecioMarcaId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "I_INDICE", nullable = false, insertable = false, updatable = false)
	public EdPatente getEdPatente() {
		return this.edPatente;
	}

	public void setEdPatente(EdPatente edPatente) {
		this.edPatente = edPatente;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns( {
			@JoinColumn(name = "I_CODIGO", referencedColumnName = "I_CODIGO", nullable = false),
			@JoinColumn(name = "NIT", referencedColumnName = "NIT", nullable = false) })
	public TbProductoEsp getTbProductoEsp() {
		return this.tbProductoEsp;
	}

	public void setTbProductoEsp(TbProductoEsp tbProductoEsp) {
		this.tbProductoEsp = tbProductoEsp;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_INICIO_VIGENCIA", nullable = false, length = 7)
	public Date getFinicioVigencia() {
		return this.finicioVigencia;
	}

	public void setFinicioVigencia(Date finicioVigencia) {
		this.finicioVigencia = finicioVigencia;
	}

	@Column(name = "V_GRADO_ALCOHOL", precision = 5)
	public Double getVgradoAlcohol() {
		return this.vgradoAlcohol;
	}

	public void setVgradoAlcohol(Double vgradoAlcohol) {
		this.vgradoAlcohol = vgradoAlcohol;
	}

	@Column(name = "C_MEDIDA", length = 3)
	public String getCmedida() {
		return this.cmedida;
	}

	public void setCmedida(String cmedida) {
		this.cmedida = cmedida;
	}

	@Column(name = "V_PRECIO_SUGERIDO", nullable = false, precision = 10)
	public Double getVprecioSugerido() {
		return this.vprecioSugerido;
	}

	public void setVprecioSugerido(Double vprecioSugerido) {
		this.vprecioSugerido = vprecioSugerido;
	}

	@Column(name = "V_PRECIO_PUBLICO", nullable = false, precision = 10)
	public Double getVprecioPublico() {
		return this.vprecioPublico;
	}

	public void setVprecioPublico(Double vprecioPublico) {
		this.vprecioPublico = vprecioPublico;
	}

	@Column(name = "N_UNIDAD_TABACO", precision = 10, scale = 0)
	public Long getNunidadTabaco() {
		return this.nunidadTabaco;
	}

	public void setNunidadTabaco(Long nunidadTabaco) {
		this.nunidadTabaco = nunidadTabaco;
	}

	@Column(name = "N_GASEOSA_X_ML", precision = 10, scale = 0)
	public Long getNgaseosaXMl() {
		return this.ngaseosaXMl;
	}

	public void setNgaseosaXMl(Long ngaseosaXMl) {
		this.ngaseosaXMl = ngaseosaXMl;
	}

}
